package com.enjoy.javaspi;

import java.util.Iterator;
import java.util.ServiceLoader;

/**
 * @Classname MyTest
 * @Description TODO
 * @Author Jack
 * Date 2021/7/1 21:13
 * Version 1.0
 */
public class MyTest<T> {
    public static void main(String[] args) {
        //这个代码就会加载META-INF/services 下面的log接口的文件中的所有类
        ServiceLoader<Log> all = ServiceLoader.load(Log.class);
        Iterator<Log> iterator = all.iterator();
        //这个地方需要挨个遍历去区分每一个实例的不同
        while (iterator.hasNext()) {
            Log next = iterator.next();
            if(next instanceof Log4j) {
                next.debug();
            }
        }
    }
}
